用OpenCV调用IP摄像头(python版) |
您所在的位置:网站首页 › python uvc摄像头 › 用OpenCV调用IP摄像头(python版) |
操作系统:
Windows10
用到的软件:
1、anaconda3
2、OpenCV 3 等等
硬件:
EasyN摄像头一个(必须为IPcamera)
问题综述 最近在学习OpenCV,想要通过摄像头采集一些视频数据,但是无论如何也调用不了IPcamera的视频,网上的搜索方法用遍了也没有找出解决的方案。但是其中有一点提醒了我,要用到rtsp(百度百科:RTSP(Real Time Streaming Protocol),RFC2326,实时流传输协议,是TCP/IP协议体系中的一个应用层协议,由哥伦比亚大学、网景和RealNetworks公司提交的IETF RFC标准。该协议定义了一对多应用程序如何有效地通过IP网络传送多媒体数据。RTSP在体系结构上位于RTP和RTCP之上,它使用TCP或UDP完成数据传输。) 于是官网上搜了一下rtsp的用法,居然真的有。 我的ip摄像头的ip是192.168.1.104,端口如上554,则总结起来就是rtsp://admin:[email protected]:554/11(其中因为用户名密码稍微涉及了一点隐私,所以就先不写出来了) #以下是最常用的读取视频流的方法 import cv2 url = 'rtsp://admin:[email protected]:554/11' cap = cv2.VideoCapture(url) while(cap.isOpened()): # Capture frame-by-frame ret, frame = cap.read() # Display the resulting frame cv2.imshow('frame',frame) if cv2.waitKey(1) & 0xFF == ord('q'): break # When everything done, release the capture cap.release() cv2.destroyAllWindows()但是最重要的是依然报错了!报错了!报错了!在官网上发现摄像头的rtsp貌似要手动开启,于是首先进入以下的界面(将你的摄像头的ip输入网页上面,例如我的就是192.168.1.104): 接下来点击电脑观看,并点击参数设置: 再点击网络设置: 再点击网络设置: 则会弹出以下界面(这里我将我的摄像头的IP设置为静态ip(这个无所谓),将rtsp设置为开启): 最后点击应用,记得这个时候将摄像头的电源拔掉,重新连接(间隔一定要超过30秒,30秒,30秒,否则可能会出问题,也不要问我为什么,因为我也不知道,这个是很多坑过后的经验) #再将以下代码重新运行一下 import cv2 url = 'rtsp://admin:[email protected]:554/11' cap = cv2.VideoCapture(url) while(cap.isOpened()): # Capture frame-by-frame ret, frame = cap.read() # Display the resulting frame cv2.imshow('frame',frame) if cv2.waitKey(1) & 0xFF == ord('q'): break # When everything done, release the capture cap.release() cv2.destroyAllWindows()最后成功出来你想要的摄像头的视频流。 这里就不跟大家截图了,涉及隐私问题啊。。。 最后如果有更好的想法,可以联系我。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |